{"componentChunkName":"component---src-templates-bootcamp-js","path":"/bootcamp/bestitconsulting/radar/github-radar-1/","result":{"data":{"site":{"siteMetadata":{"title":"William Blogs & More","description":"team knowledge base"}},"allBootcamp":{"edges":[{"node":{"fields":{"id":"410a853e-19db-5ecf-9193-d90fd4e2b164","slug":"/README/","title":"README"}}},{"node":{"fields":{"id":"ebd8a7a9-4f93-5f7f-89b4-7a921fc850fd","slug":"/backend/DEV/","title":"DEV"}}},{"node":{"fields":{"id":"c97bf13a-dd3f-5e0b-9f0a-9c5f08a42d57","slug":"/backend/Restful/","title":"Restful"}}},{"node":{"fields":{"id":"81e9e69e-bf6a-51e5-843d-7b4321c330f9","slug":"/backend/curl/","title":"Curl"}}},{"node":{"fields":{"id":"2aa2ab91-e4c3-59d3-ae10-2949c78bbba2","slug":"/backend/express/","title":"Express"}}},{"node":{"fields":{"id":"923aee4e-1ea6-5b5c-9dbf-7f3ed2ccd8de","slug":"/backend/flow/","title":"Flow"}}},{"node":{"fields":{"id":"735e010f-fe92-58c2-a717-44e1379ec81a","slug":"/backend/microservice/","title":"Microservice"}}},{"node":{"fields":{"id":"5257ef00-003a-505c-9681-90b156b2fdc3","slug":"/backend/mongo/","title":"Mongo"}}},{"node":{"fields":{"id":"5d7e4d14-bbe0-51e7-ac00-aed822be865d","slug":"/backend/nodejs/","title":"Nodejs"}}},{"node":{"fields":{"id":"04e0f6cd-ba6d-5bcb-a711-f978053c85a9","slug":"/backend/pg/","title":"Pg"}}},{"node":{"fields":{"id":"07933914-1441-5d9a-93b3-7b8527f32834","slug":"/backend/rabbitmq/","title":"Rabbitmq"}}},{"node":{"fields":{"id":"aeee00c3-e65a-5e57-8e26-99bdee4b5972","slug":"/backend/redis/","title":"Redis"}}},{"node":{"fields":{"id":"5efa4932-4a43-5627-a52e-d6c44ea1ce37","slug":"/backend/socket/","title":"Socket"}}},{"node":{"fields":{"id":"2546451c-541b-5d1f-b34c-1f1842685cfc","slug":"/bestitconsulting/Bootcamp/1-bootcamp/","title":"1 Bootcamp"}}},{"node":{"fields":{"id":"3ce1ed0e-ce4c-53b6-89a3-dd5dc7642647","slug":"/bestitconsulting/Bootcamp/2-release_branch/","title":"2 Release_branch"}}},{"node":{"fields":{"id":"e3f26574-c4e6-5058-8336-6e761d369455","slug":"/bestitconsulting/Bootcamp/3-coding/","title":"3 Coding"}}},{"node":{"fields":{"id":"8b752412-b3d3-5bbe-87b3-d99ef91d2759","slug":"/bestitconsulting/Bootcamp/4-testing/","title":"4 Testing"}}},{"node":{"fields":{"id":"e950ea75-d6c1-5fca-8e1c-4b4fce362fab","slug":"/bestitconsulting/Bootcamp/5-CICD/","title":"5 CICD"}}},{"node":{"fields":{"id":"739b0238-56b4-5a47-bc76-3286eadcb425","slug":"/bestitconsulting/Bootcamp/6-BA/","title":"6 BA"}}},{"node":{"fields":{"id":"bc2e6ad3-6b39-54b0-8d66-e5e295f331ee","slug":"/bestitconsulting/Bootcamp/QA/","title":"QA"}}},{"node":{"fields":{"id":"484882b7-848a-591f-80d5-24d045cb9582","slug":"/bestitconsulting/Bootcamp/README/","title":"README"}}},{"node":{"fields":{"id":"27252ae9-1261-5b83-9039-45c41697c09d","slug":"/bestitconsulting/Bootcamp/Reference/","title":"Reference"}}},{"node":{"fields":{"id":"2a271bc5-0775-5cb0-99ab-056d5c0cf09f","slug":"/bestitconsulting/courses/agile/","title":"Agile"}}},{"node":{"fields":{"id":"372866f9-ffd2-5576-bbc1-415732492686","slug":"/bestitconsulting/courses/grow-admin/","title":"Grow Admin"}}},{"node":{"fields":{"id":"5eb7bdc4-c171-52bc-bf48-f413de03ea24","slug":"/bestitconsulting/courses/learn-suite/","title":"Learn Suite"}}},{"node":{"fields":{"id":"986b6381-1b35-5253-93d5-1294d4984202","slug":"/bestitconsulting/courses/security/","title":"Security"}}},{"node":{"fields":{"id":"8e3b3436-48d9-57f8-9d53-71494461a76e","slug":"/bestitconsulting/radar/github-radar-1/","title":"Github Radar 1"}}},{"node":{"fields":{"id":"f9b1b128-a118-5569-b2ee-b6d5c347e964","slug":"/bestitconsulting/radar/github-radar/","title":"Github Radar"}}},{"node":{"fields":{"id":"17a02ec4-b391-54f1-8c60-922492f1a5eb","slug":"/bigdata/1-bigdata/","title":"1 Bigdata"}}},{"node":{"fields":{"id":"36884170-cd04-548a-9a00-77e36a4b1380","slug":"/bigdata/2-hadoop/","title":"2 Hadoop"}}},{"node":{"fields":{"id":"c9cdff49-84d1-58e6-bf25-926b7f68d84c","slug":"/bigdata/201-kafka-4/","title":"201 Kafka 4"}}},{"node":{"fields":{"id":"f2387a56-a470-54c8-94aa-182fffbab8b0","slug":"/bigdata/201-nosql-8/","title":"201 Nosql 8"}}},{"node":{"fields":{"id":"4d3d0dd0-c311-51f6-9975-80fd4c5fa752","slug":"/bigdata/201-streaming-5/","title":"201 Streaming 5"}}},{"node":{"fields":{"id":"27a22e9e-6aa2-5c4e-9edf-c06b8740246d","slug":"/bigdata/3-hdfs/","title":"3 Hdfs"}}},{"node":{"fields":{"id":"f80ad3db-5700-5e3b-a5ae-2e6f5dc0c886","slug":"/bigdata/4-devops/","title":"4 Devops"}}},{"node":{"fields":{"id":"07672f34-d70e-589c-ba8e-67e284bc1d8c","slug":"/bigdata/5-hive/","title":"5 Hive"}}},{"node":{"fields":{"id":"bf3a9766-31fd-5213-8dd9-7c38ebe7bb80","slug":"/bigdata/6-spark/","title":"6 Spark"}}},{"node":{"fields":{"id":"4dab467f-b6ea-531b-8c28-9bcef71863e4","slug":"/bigdata/7-docker/","title":"7 Docker"}}},{"node":{"fields":{"id":"7ee4ff75-d3f8-5c1a-b701-facf126f3450","slug":"/bigdata/8-streaming/","title":"8 Streaming"}}},{"node":{"fields":{"id":"6785ce66-99e5-5e00-af30-b1c32c61cb12","slug":"/bigdata/9-elasticsearch/","title":"9 Elasticsearch"}}},{"node":{"fields":{"id":"9a59f47c-4cd3-51db-9962-2ffb26b14dc4","slug":"/bigdata/hdfs-kubernetes/","title":"Hdfs Kubernetes"}}},{"node":{"fields":{"id":"819a354c-d042-54db-9466-5063d21db45f","slug":"/bigdata/kubernetes/","title":"Kubernetes"}}},{"node":{"fields":{"id":"4535d21c-0f79-5cda-b235-98658a1ffe1f","slug":"/bigdata/spark-kubernetes/","title":"Spark Kubernetes"}}},{"node":{"fields":{"id":"07d1d0ca-dc16-52b5-b911-0d128a2388eb","slug":"/bigdata2/README/","title":"README"}}},{"node":{"fields":{"id":"605faba4-a685-5a80-a80a-5130700509e3","slug":"/bigdata2/TODO/","title":"TODO"}}},{"node":{"fields":{"id":"5b1a9498-e94f-5dba-a4fa-9aa2f3da4312","slug":"/bigdata2/editor/","title":"Editor"}}},{"node":{"fields":{"id":"6e1973a3-4045-57b9-a096-d498f5d2802b","slug":"/bigdata2/hadoop/","title":"Hadoop"}}},{"node":{"fields":{"id":"e63f21ad-65e0-56db-891e-60a89c5f93da","slug":"/bigdata2/kafka/","title":"Kafka"}}},{"node":{"fields":{"id":"2efc1fee-93bd-53eb-b5e0-672ff2acc9a4","slug":"/bigdata2/scala/","title":"Scala"}}},{"node":{"fields":{"id":"001e1d27-4cba-5926-ba33-8197e2065136","slug":"/bigdata2/spark/","title":"Spark"}}},{"node":{"fields":{"id":"2e2078b0-b734-5ae3-873c-022349c1c3cf","slug":"/bigdata2/vscode/","title":"Vscode"}}},{"node":{"fields":{"id":"b52de8e7-4791-556a-9989-b84717cd3370","slug":"/bigdata2/web-resource/","title":"Web Resource"}}},{"node":{"fields":{"id":"e0378d10-6064-560e-a6b2-cbe89a820d26","slug":"/bigdata2/zookeeper/","title":"Zookeeper"}}},{"node":{"fields":{"id":"616110f5-9073-5438-846b-ff7584d4e922","slug":"/cloud/aws/","title":"Aws"}}},{"node":{"fields":{"id":"c788368a-0f0e-5661-8fe9-c469d5a278d8","slug":"/cloud/azure/","title":"Azure"}}},{"node":{"fields":{"id":"30bec85f-fc28-5638-b42d-a952b414de7c","slug":"/cloud/elk/","title":"Elk"}}},{"node":{"fields":{"id":"57773e69-6a69-5e86-a641-af37ffe1ad40","slug":"/cloud/gcp/","title":"Gcp"}}},{"node":{"fields":{"id":"6688fe10-a20c-5479-bc80-170063d3e58c","slug":"/frontend/apollo/","title":"Apollo"}}},{"node":{"fields":{"id":"09e2c05f-9d10-5776-8fe8-44e9a565a20e","slug":"/frontend/graphql/","title":"Graphql"}}},{"node":{"fields":{"id":"28d38d20-c6e2-50ae-ac83-d3e3b9f25248","slug":"/frontend/proxy/","title":"Proxy"}}},{"node":{"fields":{"id":"ca4444ea-9796-5d40-98e1-c01d80f88221","slug":"/frontend/react-router/","title":"React Router"}}},{"node":{"fields":{"id":"61e06420-e9e4-5aa4-9d71-bf618be3f4fe","slug":"/frontend/react/","title":"React"}}},{"node":{"fields":{"id":"9d95393b-96be-5065-83bb-536b746eed21","slug":"/frontend/redux/","title":"Redux"}}},{"node":{"fields":{"id":"e3bb0f44-4819-556c-8511-7402303e36c5","slug":"/misc/0428/","title":"0428"}}},{"node":{"fields":{"id":"dfcc8a86-17af-5c8c-b831-9fe4fa51bf0e","slug":"/misc/HISTORY/","title":"HISTORY"}}},{"node":{"fields":{"id":"6f004260-a55d-5a2d-8146-d197509fd980","slug":"/misc/TODO/","title":"TODO"}}},{"node":{"fields":{"id":"30096e9c-2593-5fc8-80d5-1f7648898888","slug":"/misc/git/","title":"Git"}}},{"node":{"fields":{"id":"bed21539-b0d7-5936-9c15-96905db68ac9","slug":"/misc/gitlab/","title":"Gitlab"}}},{"node":{"fields":{"id":"ab43544c-0ef1-56d2-a0a3-035fdd1cf7fe","slug":"/misc/installation/","title":"Installation"}}},{"node":{"fields":{"id":"b2e02e77-9623-5967-a541-fe1829315b47","slug":"/misc/misc/","title":"Misc"}}},{"node":{"fields":{"id":"4c7d96dc-fddc-52fd-9333-9fa6d2633874","slug":"/misc/vocabulary/","title":"Vocabulary"}}},{"node":{"fields":{"id":"f2a8cc1a-8b27-541c-b68e-8c5dc6d0f6b3","slug":"/poc/courses/agile/","title":"Agile"}}},{"node":{"fields":{"id":"ae6e68d8-0f75-5fac-ad96-f042bddd50aa","slug":"/poc/courses/grow-admin/","title":"Grow Admin"}}},{"node":{"fields":{"id":"689b1b72-e7b6-5b07-9890-50f653fdd7df","slug":"/poc/courses/learn-suite/","title":"Learn Suite"}}},{"node":{"fields":{"id":"003c5b81-20aa-57aa-b268-17aaaa338e68","slug":"/poc/courses/security/","title":"Security"}}},{"node":{"fields":{"id":"e0f53ac9-fbe0-5c72-8b69-ee2cce387f90","slug":"/poc/radar/github-radar-1/","title":"Github Radar 1"}}},{"node":{"fields":{"id":"c5718e38-5cc1-566e-a649-a4d501877995","slug":"/poc/radar/github-radar/","title":"Github Radar"}}},{"node":{"fields":{"id":"5a68cfb3-1b53-5527-a6ad-b8277381fab4","slug":"/poc/radar/steps/","title":"Steps"}}}]},"bootcamp":{"fields":{"id":"8e3b3436-48d9-57f8-9d53-71494461a76e","title":"Github Radar 1","slug":"/bestitconsulting/radar/github-radar-1/","tag":"bestitconsulting/radar","category":"bootcamp","date":"2020-12-17","size":1944},"html":"<h1 id=\"1-dotnet\" style=\"position:relative;\"><a href=\"#1-dotnet\" aria-label=\"1 dotnet permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>1. DotNet</h1>\n<ul>\n<li>Kafka dotnet client: <a href=\"https://github.com/confluentinc/confluent-kafka-dotnet\">https://github.com/confluentinc/confluent-kafka-dotnet</a></li>\n</ul>\n<p>This is an example of a very simplified insurance sales system made in a <a href=\"https://github.com/asc-lab/dotnetcore-microservices-poc\"><code class=\"language-text\">microservice architecture</code></a> using:</p>\n<ul>\n<li>.NET Core 2.1</li>\n<li>Entity Framework Core</li>\n<li>MediatR</li>\n<li>Marten</li>\n<li>Eureka</li>\n<li>Ocelot</li>\n<li>JWT Tokens</li>\n<li>RestEase</li>\n<li>RawRabbit</li>\n<li>NHibernate</li>\n<li>Polly</li>\n<li>NEST (ElasticSearch client)</li>\n<li>Dapper</li>\n<li>DynamicExpresso</li>\n</ul>\n<h1 id=\"2-java\" style=\"position:relative;\"><a href=\"#2-java\" aria-label=\"2 java permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>2. Java</h1>\n<h1 id=\"3-devops\" style=\"position:relative;\"><a href=\"#3-devops\" aria-label=\"3 devops permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>3. DevOps</h1>\n<ul>\n<li>Docker: <a href=\"https://hub.docker.com/r/kianzhou/github-radar\">https://hub.docker.com/r/kianzhou/github-radar</a></li>\n</ul>\n<h1 id=\"4-data-model\" style=\"position:relative;\"><a href=\"#4-data-model\" aria-label=\"4 data model permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>4. Data Model</h1>\n<p>Storing objects (think{JSON}object)</p>\n<ul>\n<li>Schemas - Custom Domain Model</li>\n<li>Streams - Conversions &#x26; Previews</li>\n<li>Security - Security Policies</li>\n<li>Search - on any field</li>\n<li>Audit  - Application Log (save audit trail in PostgreSQL)</li>\n</ul>\n<h1 id=\"5-samples\" style=\"position:relative;\"><a href=\"#5-samples\" aria-label=\"5 samples permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>5. Samples</h1>\n<h2 id=\"50-repository--storage-adapters\" style=\"position:relative;\"><a href=\"#50-repository--storage-adapters\" aria-label=\"50 repository  storage adapters permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>5.0 Repository &#x26; Storage Adapters</h2>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 600px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/6f5f59229d1f52471e5cc624680c299b/000c7/adapters.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 73.33333333333334%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAPCAYAAADkmO9VAAAACXBIWXMAAA7DAAAOwwHHb6hkAAADnElEQVQ4yz2Re2yTZRTGP4kJ8Z54DwaVbWiUf9CwKQlRQGAjuAXHbczEGEHcppJFWRScjLHMSzRZlMTFaZSoAZ1r2Rhbu3b3dutlvc3u0u7b2K0jBFZMFE062v48b0v845fnPec5z3m/fK/mjc7x3VQ/FcFf2DRYSa6jmjxnNfmuWgrcn6R0h6smpdudJ1PnXPG3OU6kZl8aPM5nodbUDtfiDNqnIQPL23N50LKLByyF3Nuxk4yuYp63l7HV+T4bBt4l21bCxsFyckRfGDzM072vs7KziPtkVmUUakf12G9oLXNzHPD0UeazUyqUeO28KRzy2nhLOCgckvqgR+lA6lzqGxDPnvJV5m1B7TDMyhdWBUFrhFuNcIuwxgrPdEFWBzwhrO2E1aI5PZDdnfZU/ylL2ltmTGfVjqPDomenY+TbY+x1xNgzGGO/M8arQpFjSeol9onuFfY706haUSwzCpVRWbXj56kYWu3oDTRDkrvPJ7mzJckdwm3NSR43JVnfk2RtV5p13Umek3pDr3jm9IyaVRmV1YxJqoKy68fJJdZ3J9jSF2dTb5yNvYkUuf0JCuxxXrYn2Nqv/AQ75JwvbJP6xZtzmyWnsmpHg76E9sXYDe5qSbCiLcFj7QlWm+JkChnCSullmRJstyXIs8VZZUrPZNycyTSlcwq1o3ZEFn4/FSe7F7bY5SHkQR6RH54pP3uF6ENmeFjI6YNnZeZ+Ezwqj/GkPMwqa7pW2c2SXSdar8fRrBNX+cg0To0lxBstYfIadXYadPJ/19lnCLPHOElRy0UKjVMUn5ugsGmCgib9f46Zw9RYw3xsDmEOXUGrME+gvdOKVtmJdswijXa0I21oH5hYfryT26usZH3Zz5o6G/ec7GJZpSXlaRVt6bkjcv5QemXnKW8Lo+lX/6GkKcBhg48Dv3o42j7G2cAldv/kptzoZ9dpJ5/36JwamOa1M0O81xxI6Rl/hBMdIV75YYDSRg+7Tzvwz/+J9u/ffxH0e/lD4fMSHg0SvXIZr9uFx+0WnISkF5m5SMAzhH/IzbB3iLnpKWYmJ/CJ73E5xHNx+dICWvTaNVwSbL1wAZPZjM/vJ7KwwLnmZurq6vimvh6n00V4Qqe7p4evvj6V0vFQiLHxcTosVr5taMBmtzM7O4d2/fp1RkZG8Hg8KcLhMNFolOHhYRwOB265TNd1FuSSQCCAe0i+UjQSiTA/P08wGMTn8zM6Osri4iL/ASOud5IBM3koAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Repository &amp; Storage Adapters\"\n        title=\"Repository &amp; Storage Adapters\"\n        src=\"/static/6f5f59229d1f52471e5cc624680c299b/0a47e/adapters.png\"\n        srcset=\"/static/6f5f59229d1f52471e5cc624680c299b/8a4e8/adapters.png 150w,\n/static/6f5f59229d1f52471e5cc624680c299b/5a46d/adapters.png 300w,\n/static/6f5f59229d1f52471e5cc624680c299b/0a47e/adapters.png 600w,\n/static/6f5f59229d1f52471e5cc624680c299b/1cfc2/adapters.png 900w,\n/static/6f5f59229d1f52471e5cc624680c299b/000c7/adapters.png 1137w\"\n        sizes=\"(max-width: 600px) 100vw, 600px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n  </a>\n    </span></p>\n<h1 id=\"51-elastic-stack\" style=\"position:relative;\"><a href=\"#51-elastic-stack\" aria-label=\"51 elastic stack permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>5.1 Elastic Stack</h1>\n<h2 id=\"512-structure1\" style=\"position:relative;\"><a href=\"#512-structure1\" aria-label=\"512 structure1 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>5.1.2 Structure1</h2>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 600px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/db96033109cd09d068072ac4aaa7e9c8/d56b5/structure1.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 81.33333333333333%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAYAAAAWGF8bAAAACXBIWXMAAA7DAAAOwwHHb6hkAAADkUlEQVQ4y4WUy28bVRTG5y9hB0IgsUCskKgACdixQCwJUKmKhFQhEK8KdYFYIUUNFJUoqBUKTdrUbRQlfURpU5KUvOz4MXY8id9xHMfj92PssTMee/zjZhwMXSCOdOc+zrnn3POd842EEN20mInUuLlXxRGucTuiMa0Umd4t4xDrk7MpofPmWifm9PhvkU4+RsciVjO5F84z+djJ9cV1XOEDXPs5Jh6sMrUVxqM2yDZM+1Kn28U0TTqdDu1225674qzX6yFZVq8f0+riVpKouVJ/37PE6FLW6rhCSerVGnq1YjvUNA23240sy3i9Xvx+P4FAwHYu/fu5u5kqFd0Y7C3L4s9EjhlnjO9Ct/gpfMeO1WrpRCMRFEUhGo0SFPNOUOHYEA7Thylkn5eQEmTV5cEnIu2EIvh2w+Q1nS2RqkM4vHK4wmRmjf8TSS1UeOQJEYymyKkqajpNdH2JjXkHeXmdbHCbhHOFuuLGiPqoR7dpxTwYSQVd12mbHeR0mQl3io39ItLyAYx74EYM/PeXSc3N0ro0hPHRM3Q+eYHO8HNw4TWaX5+hce55jOEXOT77LOY3b9qZBA7zfHlfQfp8liGHjNTugnykUW52MPQm7bqGXi5we3OPGVccVzyLN6FSyuVolw5Zjz5mZW+BjBru5ygKFzgqc82ZwJks9osSL2qYHfMUhR5pUZe3N+FdN7zvhdfFelkUuNCtMKyMcTZ4mdm869S+y5Q3xcsji1xajfQdRgoax23ztGMtymWd0bENfr8hM31nh7HxTZKxCtmmSO/hj3y2OMJcaKXfCd2OeFCDOTnJblbrO4wV6za4vVMKxI9KvHJunDPnf+ONTyd46cMrzK+FbF3pWMAjhmH1H2CKpn6qylmR7oInTvggPzgMpwq89e1NPhi5y9DIHO9cvMW9zSgts8EvDyYZnbvKVtg3wHBjv8BXM06exPNIPcGUoABV04/7iIiIJ9Ra8kW4en2ea5N3WXf6bV1NrxM8CBNI7pEuqtgsEw4VtcavT3bZEcSQsmoGn18mkUjYfLS5KpyqtQaroTRLSoqmgMOy+rqJP2b4+OcvqDa0/gMFTm3B60yxbN+XIokIK2uPkL2yTfi/pdntMfowwA8LMvmWOfjHfO+4zKsX3iNTzg1s97IVLs5uExXFlZrNFv7QAYdqcRDxROpNA38iK9LL0TL+CdRu9yhVjadsj0QdfKJfM6U6fwGwpnbydf+6PQAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Structure1\"\n        title=\"Structure1\"\n        src=\"/static/db96033109cd09d068072ac4aaa7e9c8/0a47e/structure1.png\"\n        srcset=\"/static/db96033109cd09d068072ac4aaa7e9c8/8a4e8/structure1.png 150w,\n/static/db96033109cd09d068072ac4aaa7e9c8/5a46d/structure1.png 300w,\n/static/db96033109cd09d068072ac4aaa7e9c8/0a47e/structure1.png 600w,\n/static/db96033109cd09d068072ac4aaa7e9c8/1cfc2/structure1.png 900w,\n/static/db96033109cd09d068072ac4aaa7e9c8/c1b63/structure1.png 1200w,\n/static/db96033109cd09d068072ac4aaa7e9c8/d56b5/structure1.png 1215w\"\n        sizes=\"(max-width: 600px) 100vw, 600px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n  </a>\n    </span></p>\n<h2 id=\"513-structure2\" style=\"position:relative;\"><a href=\"#513-structure2\" aria-label=\"513 structure2 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>5.1.3 Structure2</h2>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 600px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/7d7bdb58842ca4ebe1fe44ce6e8924e1/8de58/structure2.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 80.66666666666666%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAYAAAAWGF8bAAAACXBIWXMAAA7DAAAOwwHHb6hkAAADmUlEQVQ4y4WU32tbZRjH8yd4KXjhbnQgeDmRIb0SRNCBCrtQcRQRhamg6C7cxQZihQ5RVoWN6lijtda1cTqn9leyrl1cm9+/mqQnPW3S/GjS/DhNcpKT5Jzz8U3SRXohPpwf7/s87/t9nuf7vM9rQUhB7WCNVJgIl7geLGIN7fN9MM9EsMBEqIQ1XOZ6uEK8rPF/Yul+1LbB1kGbWxtZfnasccN+n8juPveiSX6aX2XGKxMvaShNvbdJ07Qjb6fTodlsous6FsMweotaTY0VXwJFqR76MsWjs7tfxhVPUakUha3cs+RyOXw+Hy6Xi0AggNvtxu/3U6/X+xE+kFC6RLNtDOaNts7t4DZT90Oci3zHj4n5Q18GmXSaTUkiGo3i8XoplvrOLHJiE6/bRTjgw7HmJhAK4d2I4w7HKDQ62Hcq2ATolewyi6XYg9j/m8Ot9D7zXomwnCMvvGblBPGlX3Hd/IGSx0F6zU7KuUDdt0ojeJdqeBk1eIdmIoCiNmloLf4U3F9ekfCkylh+34SrbpNJCaLTNlK/zdK6+DzNM4/SeusxzHeOwydD1D54GvXN47TffpL2G8dQR17Fm8yL4uV5ybqO5UMbn9klLC3BUySnoHVMOq0WhtYkLwozvp5iNlLkTrrOym6VWk1Fqe4xt+3gL9lOsVY4zN3AKYvjtS4T21OwmIaOVDjAMM1Dbgx8FTgx3+HUPXhh1eSk3SChiqLVJE67P+c17yjOSmwA+Ol8hKcu/SG4TvePzaYA1LuAptmjPCm4GPt6mZuzAWwzAazfOqkWNWIlmXNzX3F+cQxPJtp3LwKK56s44hmyB80uYFeh9AANox/jsn+bR175gmfevcbJs9c4dvpLPGJDVypajWpbFXGZvYOsG8bRKidzJX5xxtjJVQbKlWCS585PMXzJxpnRWV68ME1ku0i2kmHkxjeM2q4QS28NGmDStc3ZKSehrOCw3dEJpQq0Ov22MkQbNcR40R1l2rbA5MwcqVS2ZytXFQGUQMrKVGqCpu4ekZl/VwTlkdiripSTO1sEgn5kWR5w0hXHXQevnxpi+OVnkRPxQfTvj19g+PJHvf7tcw5KvUEik+/NLcF4mCXHgujJYM+o653e375wixOPP8TQEw8T9rsHgO+NX2R47GORUWugW9rYZeS2j5KqYTmoNQhLGfJFpc/Iode9Qpnl1TX+XveIm+Tfa6slhqrKkbVbmRIbyQL7Sp1/AA+Kbx758rrNAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Structure2\"\n        title=\"Structure2\"\n        src=\"/static/7d7bdb58842ca4ebe1fe44ce6e8924e1/0a47e/structure2.png\"\n        srcset=\"/static/7d7bdb58842ca4ebe1fe44ce6e8924e1/8a4e8/structure2.png 150w,\n/static/7d7bdb58842ca4ebe1fe44ce6e8924e1/5a46d/structure2.png 300w,\n/static/7d7bdb58842ca4ebe1fe44ce6e8924e1/0a47e/structure2.png 600w,\n/static/7d7bdb58842ca4ebe1fe44ce6e8924e1/1cfc2/structure2.png 900w,\n/static/7d7bdb58842ca4ebe1fe44ce6e8924e1/c1b63/structure2.png 1200w,\n/static/7d7bdb58842ca4ebe1fe44ce6e8924e1/8de58/structure2.png 1219w\"\n        sizes=\"(max-width: 600px) 100vw, 600px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n  </a>\n    </span></p>\n<h2 id=\"514-es-solution\" style=\"position:relative;\"><a href=\"#514-es-solution\" aria-label=\"514 es solution permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>5.1.4 ES Solution</h2>\n<ul>\n<li>File System also can be save in S3 (S3 Binary Manager)</li>\n<li>Google Drive &#x26; Google Doc integration</li>\n<li>Search - Elastic</li>\n<li>Storage/Import - MongoDB</li>\n<li>Aync processing - Redis</li>\n</ul>\n<h2 id=\"515-es-search\" style=\"position:relative;\"><a href=\"#515-es-search\" aria-label=\"515 es search permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>5.1.5 ES Search</h2>\n<ul>\n<li>Simple search</li>\n<li>Faceted search</li>\n<li>Listings and views</li>\n<li>Suggestion widgets</li>\n</ul>\n<h2 id=\"516-es--monogodb--redis\" style=\"position:relative;\"><a href=\"#516-es--monogodb--redis\" aria-label=\"516 es  monogodb  redis permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>5.1.6 ES + MonogoDB / Redis</h2>\n<ul>\n<li>elasticsearch</li>\n<li>redis</li>\n<li>\n<p>Ecosystem:</p>\n<blockquote>\n<p>Cluster + MongoDB ReplicSet + ElasticSearch + Redis + Kafka + Zookeeper</p>\n</blockquote>\n</li>\n<li>Offload queries from DB - decouple sizing of searching &#x26; storage</li>\n<li>performance &#x26; scalability</li>\n</ul>\n<h1 id=\"52-kafka\" style=\"position:relative;\"><a href=\"#52-kafka\" aria-label=\"52 kafka permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>5.2 Kafka</h1>\n<h2 id=\"521-kafka--redis\" style=\"position:relative;\"><a href=\"#521-kafka--redis\" aria-label=\"521 kafka  redis permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>5.2.1 Kafka + Redis</h2>\n<ul>\n<li>QUeue Messages/Actions instead of Jobs</li>\n<li>Minimize redis persistence</li>\n<li>\n<p>Optimize processing</p>\n<ul>\n<li>pre-process messages (Audit)</li>\n<li>regroup/batch some updates</li>\n</ul>\n</li>\n</ul>\n<h1 id=\"nouns\" style=\"position:relative;\"><a href=\"#nouns\" aria-label=\"nouns permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Nouns:</h1>\n<ul>\n<li>BFF: Backend for Frontend</li>\n<li>PaaS: Platform as a Service</li>\n<li>ELKB</li>\n<li>SOA: software architecture.</li>\n<li>coarse-grained: fine-grained</li>\n</ul>\n<h1 id=\"todos\" style=\"position:relative;\"><a href=\"#todos\" aria-label=\"todos permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>TODOs:</h1>\n<ul>\n<li>any 3rd high-level libaries ?</li>\n<li></li>\n</ul>","tableOfContents":"<ul>\n<li><a href=\"#1-dotnet\">1. DotNet</a></li>\n<li><a href=\"#2-java\">2. Java</a></li>\n<li><a href=\"#3-devops\">3. DevOps</a></li>\n<li><a href=\"#4-data-model\">4. Data Model</a></li>\n<li>\n<p><a href=\"#5-samples\">5. Samples</a></p>\n<ul>\n<li><a href=\"#50-repository--storage-adapters\">5.0 Repository &#x26; Storage Adapters</a></li>\n</ul>\n</li>\n<li>\n<p><a href=\"#51-elastic-stack\">5.1 Elastic Stack</a></p>\n<ul>\n<li><a href=\"#512-structure1\">5.1.2 Structure1</a></li>\n<li><a href=\"#513-structure2\">5.1.3 Structure2</a></li>\n<li><a href=\"#514-es-solution\">5.1.4 ES Solution</a></li>\n<li><a href=\"#515-es-search\">5.1.5 ES Search</a></li>\n<li><a href=\"#516-es--monogodb--redis\">5.1.6 ES + MonogoDB / Redis</a></li>\n</ul>\n</li>\n<li>\n<p><a href=\"#52-kafka\">5.2 Kafka</a></p>\n<ul>\n<li><a href=\"#521-kafka--redis\">5.2.1 Kafka + Redis</a></li>\n</ul>\n</li>\n<li><a href=\"#nouns\">Nouns:</a></li>\n<li><a href=\"#todos\">TODOs:</a></li>\n</ul>"},"previous":{"fields":{"id":"986b6381-1b35-5253-93d5-1294d4984202","title":"Security","slug":"/bestitconsulting/courses/security/"},"excerpt":"BestITConsulting’s IT Security and Awareness Program Risks are managed by evaluating: Vulnerabilities Threats Information Management…"},"next":{"fields":{"id":"f9b1b128-a118-5569-b2ee-b6d5c347e964","title":"Github Radar","slug":"/bestitconsulting/radar/github-radar/"},"excerpt":"What is Big Data? According to wiki:  is a field that treats of ways to analyze, systematically extract information from, or otherwise deal…"}},"pageContext":{"id":"8e3b3436-48d9-57f8-9d53-71494461a76e","prevId":"986b6381-1b35-5253-93d5-1294d4984202","nextId":"f9b1b128-a118-5569-b2ee-b6d5c347e964"}},"staticQueryHashes":["1576573137","63159454"]}